cmake_minimum_required(VERSION 3.13 FATAL_ERROR)
cmake_policy(SET CMP0057 NEW)

project(regression_test LANGUAGES C)

get_filename_component(SOURCE_DIR ${CMAKE_CURRENT_LIST_DIR}/../../../regression
                       ABSOLUTE)

set(auto_ip_test_cases
    ${SOURCE_DIR}/auto_ip_test/netx_auto_ip_address_check_test.c
    ${SOURCE_DIR}/auto_ip_test/netx_auto_ip_arp_dest_addr_test.c
    ${SOURCE_DIR}/auto_ip_test/netx_auto_ip_basic_test.c
    ${SOURCE_DIR}/auto_ip_test/netx_auto_ip_max_conflicts_test.c
    ${SOURCE_DIR}/auto_ip_test/netx_auto_ip_announce_num_test.c)

if("-DNX_BSD_ENABLE" IN_LIST ${CMAKE_BUILD_TYPE})
  set(bsd_test_cases
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_clients_shared_port_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_accept_noselect_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_blocking_bidirection_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_blocking_bidirection_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_clients_share_port_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_servers_share_port_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_basic_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_two_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_2nd_bind_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_multicast_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_bind_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_disconnect_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_udp_select_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_accept_nonblocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_pton_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_ntoa_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_ntop_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_ioctl_nonblocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_connect_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_sendto_recvfrom_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_accept_nonblocking_timeout_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_bind_connect_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_basic_nonblocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_multiple_accept_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_bind_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_aton_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_inet_addr_pton_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_accept_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_basic_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_basic_nonblocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_servers_shared_port_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_getsockname_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_accept_blocking_timeout_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_udp_checksum_corrupt_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_getaddrinfo_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_getsockname_without_bind_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_rcvbuf_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_tcp_fionread_test.c)
  if("-DNX_BSD_RAW_SUPPORT" IN_LIST ${CMAKE_BUILD_TYPE})
    list(
      APPEND
      bsd_test_cases
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_rx_nohdr_basic_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_basic_rx_nohdr_nonblocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_bind_connect_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_basic_nonblocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_basic_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_basic_rx_nohdr_blocking_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_pppoe_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_ping_test.c
      ${SOURCE_DIR}/bsd_test/netx_bsd_raw_tx_test.c)
  endif()
endif()

if(PRODUCT STREQUAL netxduo)
  set(cloud_test_cases
      ${SOURCE_DIR}/cloud_test/netx_cloud_api_test.c
      ${SOURCE_DIR}/cloud_test/netx_cloud_basic_test.c
      ${SOURCE_DIR}/cloud_test/netx_cloud_module_event_test.c
      ${SOURCE_DIR}/cloud_test/netx_cloud_module_register_deregister_test.c)
endif()

set(dhcp_test_cases
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_03_01_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_03_02_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_03_02_02_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_03_02_03_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_03_05_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_01_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_03_02_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_03_02_02_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_03_02_03_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_03_05_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_04_01_01_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_04_04_01_02_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_basic_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_basic_restore_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_user_option_add_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_packet_process_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_send_with_zero_source_address_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_multiple_instances_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_send_request_internal_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_extract_information_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_get_option_value_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_delete_test.c    
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_stop_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_enable_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_start_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_release_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_reinitialize_test.c    
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_activate_interfaces_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_secondary_interface_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_interface_order_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_ip_mutex_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_server_source_port_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_ntp_option_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_parameter_request_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_coverage_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_unicast_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_server_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_server_improper_term_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_server_second_interface_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_server_options_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_server_small_packet_payload_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_skip_discover_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_client_nxe_api_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_basic_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_extended_api_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_packet_loss_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_client_process_server_duid_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_server_ia_options_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_server_iana_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_server_process_repeated_msgs_test.c
    ${SOURCE_DIR}/dhcp_test/netx_dhcpv6_user_option_add_test.c)

set(dns_test_cases
    ${SOURCE_DIR}/dns_test/netx_dns_coverage_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_function_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_request_a_response_cname_a_smtp_live_com_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_invalid_name_unencode_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_invalid_resource_get_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_abnormal_packet_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_source_port_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_non_blocking_a_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_nxe_api_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_fake_response_test.c
    ${SOURCE_DIR}/dns_test/netx_dns_packet_double_release_test.c)

set(ftp_test_cases
    ${SOURCE_DIR}/ftp_test/netx_ftp_access_control_commands_02_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_access_control_commands_03_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_invalid_username_password_length_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_pasv_file_write_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_data_connection_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_service_commands_nlist_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_user_data_type_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_basic_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_establish_data_connection_05_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_commands_replys_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_service_commands_RETR_STOR_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_service_commands_rename_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_establish_data_connection_08_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_access_control_commands_04_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_pasv_denied.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_commands_characters_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_pasv_file_read_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_buffer_overflow_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_file_write_fail_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_establish_data_connection_06_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_service_commands_file_write_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_establish_data_connection_03_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_access_control_commands_01_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_control_connection_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_server_invalid_month_crash_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_rst_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_two_listen_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_multiple_connection_responses_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_client_packet_leak_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_parse_ipv6_address_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_server_abnormal_packet_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_server_list_command_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_server_dangling_pointer_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_server_mss_too_small_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_pasv_twice_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_disconnection_event_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_ipv6_epsv_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_pasv_port_test.c
    ${SOURCE_DIR}/ftp_test/netx_ftp_pasv_stor_test.c)

set(http_test_cases
    ${SOURCE_DIR}/http_test/netx_http_get_put_referred_URI_test.c
    ${SOURCE_DIR}/http_test/netx_http_if_modified_since_test.c
    ${SOURCE_DIR}/http_test/netx_http_client_change_connect_port_test.c
    ${SOURCE_DIR}/http_test/netx_http_post_basic_test.c
    ${SOURCE_DIR}/http_test/netx_http_get_contentlength_packetleak_test.c
    ${SOURCE_DIR}/http_test/netx_http_status_404_test.c
    ${SOURCE_DIR}/http_test/netx_http_basic_test.c
    ${SOURCE_DIR}/http_test/netx_http_basic_authenticate_test.c
    ${SOURCE_DIR}/http_test/netx_http_get_content_length_test.c
    ${SOURCE_DIR}/http_test/netx_http_request_in_multiple_packets_test.c
    ${SOURCE_DIR}/http_test/netx_http_head_basic_test.c
    ${SOURCE_DIR}/http_test/netx_http_delete_basic_test.c
    ${SOURCE_DIR}/http_test/netx_http_multipart_fragment_test.c
    ${SOURCE_DIR}/http_test/netx_http_multipart_underflow_test.c
    ${SOURCE_DIR}/http_test/netx_http_digest_authenticate_test.c
    ${SOURCE_DIR}/http_test/netx_http_server_type_retrieve_test.c
    ${SOURCE_DIR}/http_test/netx_http_digest_authenticate_timeout_test.c)

if(PRODUCT STREQUAL netxduo)
  set(mdns_test_cases
      ${SOURCE_DIR}/mdns_test/netx_mdns_announcement_repeat_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_bad_packet_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_buffer_size_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_create_delete_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_domain_name_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_interface_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_second_interface_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_internal_function_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_local_cache_continuous_query_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_local_cache_one_shot_query_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_multiple_answers_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_name_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_one_shot_query_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_responder_cooperating_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_response_with_question_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_service_add_delete_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_service_lookup_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_source_address_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_source_port_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_ttl_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_two_buffer_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_txt_notation_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_txt_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_peer_service_change_notify_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_ipv6_string_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_read_overflow_test.c)
  if(NOT "-DNX_DISABLE_IPV4" IN_LIST ${CMAKE_BUILD_TYPE})
    list(APPEND mdns_test_cases ${SOURCE_DIR}/mdns_test/netx_mdns_ram_test.c)
  endif()

  set(nat_test_cases
      ${SOURCE_DIR}/nat_test/netx_nat_tcp_fragment_test.c
      ${SOURCE_DIR}/nat_test/netx_nat_tcp_test1.c
      ${SOURCE_DIR}/nat_test/netx_nat_tcp_port_test2.c
      ${SOURCE_DIR}/nat_test/netx_nat_udp_fragment_test.c
      ${SOURCE_DIR}/nat_test/netx_nat_icmp_test.c
      ${SOURCE_DIR}/nat_test/netx_nat_udp_test.c
      ${SOURCE_DIR}/nat_test/netx_nat_tcp_test2.c
      ${SOURCE_DIR}/nat_test/netx_nat_udp_port_test.c
      ${SOURCE_DIR}/nat_test/netx_nat_tcp_port_test.c
      ${SOURCE_DIR}/nat_test/netx_nat_invalid_header_test.c)
endif()

set(netxduo_test_cases
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_mtu_option_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_icmp_small_header_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_receive_under_interface_detach_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_29_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_new_reno_algorithm_test4.c
    ${SOURCE_DIR}/netxduo_test/netx_15_26_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_ipv6_interface2_test_1_test.c
    ${SOURCE_DIR}/netxduo_test/netx_15_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_31_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_small_window_preempt_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_conflict_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_29_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_suspension_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_tunnel_ipv4_ipv6_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_interface2_ping6_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_prefix_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_26_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_unaccept_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_28_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_21_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_10_23_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_29_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_27_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_22_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_packet_delay_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_dropped_packet_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_10_26_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_leave_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_14_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_address_delete_test.c
    ${SOURCE_DIR}/netxduo_test/netx_2_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_no_duplicate_entry_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_raw_loopback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_multiple_send_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_22_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_icmp_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ack_check_for_syn_message_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_raw_packet_filter_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_max_payload_size_find_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_06_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_21_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_fragmentation_error_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_packet_type_test.c
    ${SOURCE_DIR}/netxduo_test/netx_raw_special_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_raw_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_udp_test.c
    ${SOURCE_DIR}/netxduo_test/netx_api_compile_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_cleanup_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_window_update_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_28_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_auto_entry_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_client_socket_unbind_test.c
    ${SOURCE_DIR}/netxduo_test/netx_10_24_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_malformed_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_idle_scan_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_multiple_send_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_fast_disconnect_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_keepalive_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_abnormal_mtu_in_ra_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_multiple_ping_test1.c
    ${SOURCE_DIR}/netxduo_test/netx_old_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_loopback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_time_exceeded_message_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_icmp_small_header_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_23_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_invalid_ra_dest_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_retransmit_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_basic_processing_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_client_socket_port_get_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_capability_test.c
    ${SOURCE_DIR}/netxduo_test/netx_23_02_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_data_trim_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_26_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_14_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_detachment_tcp_connection_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_address_get_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_invalid_echo_reply_test.c
    ${SOURCE_DIR}/netxduo_test/netx_10_24_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_urgent_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_transmit_cleanup_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_entry_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_na_tlla_changed_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_listen_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_disable_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_multiple_ping6_test1.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_address_get_test.c
    ${SOURCE_DIR}/netxduo_test/netx_10_24_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_default_router_test.c
    ${SOURCE_DIR}/netxduo_test/netx_106_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_invalid_packet_receive_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_router_query_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ramdriver_callback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_static_entry_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_static_entry_pollute_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_flag_callback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_udp_fragment_test4.c
    ${SOURCE_DIR}/netxduo_test/netx_checksum_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_2_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_11.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_router_full_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_multiple_ping_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_tcp_test_5.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_15.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_link_local_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_address_get_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv6_ipv6_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_entry_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_queue_depth_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_echo_reply_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_connection_reset_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_payload_size_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_tcp_test_1.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_address_conflict_detection_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_tunnel_ipv4_ipv6_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv4_ipv4_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_tunnel_ipv6_ipv6_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_socket_unbind_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_static_entry_create_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_28_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_14.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_tunnel_ipv4_ipv4_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_multiple_ping6_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_6_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_loopback_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_link_local_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_broadcast_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_util_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_16_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_send_error_message_test_1.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dual_pool_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_22_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_queue_depth_notify_test.c
    ${SOURCE_DIR}/netxduo_test/netx_16_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_receive_under_interface_detach_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_packet_receive_function_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_address_set_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_pmtu_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_ping6_data_append_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_4.c
    ${SOURCE_DIR}/netxduo_test/netx_nd_cache_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_interface_detachment_router_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_client_bind_cleanup_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_new_reno_algorithm_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_out_of_order_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_12.c
    ${SOURCE_DIR}/netxduo_test/netx_9_22_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_27_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_05_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_checksum_zero_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_stateless_address_autoconfig_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_9.c
    ${SOURCE_DIR}/netxduo_test/netx_nd_cache_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_15_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_status_check_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_multicast_interface_detach_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_port_unreachable_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_loopback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_wrapping_sequence_test3.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_27_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_loopback_multihome_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_unbind_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_3_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ipv6_delayed_retransmission_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_entry_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_wrong_destination_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_04_ipv6_test.c
    ${SOURCE_DIR}/netxduo_test/netx_2_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_delayed_retransmission_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_chained_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_icmp_small_header_test3.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_fragmentation_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_large_mtu_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_large_mtu_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_low_watermark_zero_window_test.c
    ${SOURCE_DIR}/netxduo_test/netx_low_watermark_fragment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_30_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_create_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_redirect_nd_full_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_echo_request_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_listen_queue_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_packet_receive_function_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_multiple_ports_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_17.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_join_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_13_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_send_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_27_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_driver_deferred_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_tunnel_ipv4_ipv4_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_21_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_packet_receive_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_na_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_na_buffer_overwrite_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_bind_cleanup_test.c
    ${SOURCE_DIR}/netxduo_test/netx_16_22_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_packet_receive_function_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_unlisten_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_address_set_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_8.c
    ${SOURCE_DIR}/netxduo_test/netx_4_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_packet_copy_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_multicast_interface_detach_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_socket_delete_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_timeout_check_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_timeout_check_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_9_27_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_29_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_21_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_server_socket_accept_test.c
    ${SOURCE_DIR}/netxduo_test/netx_13_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_ping_multicast_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_07_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_nd_cache_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_send_disconnect_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_ping_fragment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_caller_check_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_3.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_5.c
    ${SOURCE_DIR}/netxduo_test/netx_103_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_duplicate_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_basic_processing_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_status_check_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_search_onlink_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_23_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_physical_address_set_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_not_enabled_test.c
    ${SOURCE_DIR}/netxduo_test/netx_16_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_23_02_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_27_test.c
    ${SOURCE_DIR}/netxduo_test/netx_13_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_wrong_protocol_field_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_gateway_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_static_route_delete_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_relisten_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_chain_packet_process_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ipv4_interface2_mss_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_retransmit_test_1.c
    ${SOURCE_DIR}/netxduo_test/netx_rarp_multiple_interfaces_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ipv6_window_scale_test.c
    ${SOURCE_DIR}/netxduo_test/netx_2_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_invalid_packet_receive_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_invalid_length_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_send_error_message_test.c
    ${SOURCE_DIR}/netxduo_test/netx_104_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_free_port_find_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv4_option_process_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_10.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_receive_cleanup_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_gratuitous_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_23_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_interface2_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_entry_test3.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_error_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_error_small_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_status_check_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ipv6_interface2_mss_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_wrapping_sequence_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_16.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_route_reachable_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_wrapping_sequence_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_address_conflict_callback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_send_fail_test3.c
    ${SOURCE_DIR}/netxduo_test/netx_6_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ack_check_issue_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_tcp_test_4.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv4_ipv6_small_windows_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_static_entries_delete_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_transmit_under_interface_detach_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_loopback_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_5_22_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_checksum_computation_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_abnormal_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_16_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_delete_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_link_status_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_link_status_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_tunnel_ipv6_ipv6_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_19_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_hop_by_hop_option_error_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_26_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_packet_filter_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_packet_filter_extended_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_invalid_na.c
    ${SOURCE_DIR}/netxduo_test/netx_low_watermark_test.c
    ${SOURCE_DIR}/netxduo_test/netx_rarp_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_detachment_arp_table_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_max_window_scale_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_raw_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_out_of_order_packet_max_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_nd_cache_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_24_test.c
    ${SOURCE_DIR}/netxduo_test/netx_23_02_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_address_full_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_zero_window_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_info_get_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_error_operation_check_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_detachment_gateway_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_duplicate_accept_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_08_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_ipv4_interface2_test_1_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_address_set_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_DAD_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_29_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_23_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_tunnel_ipv6_ipv4_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_fin_wait1_to_time_wait_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_udp_fragment_test3.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_loopback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_15_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_101_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_19_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_entry_cache_test.c
    ${SOURCE_DIR}/netxduo_test/netx_13_05_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_29_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_auxiliary_packet_pool_set_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_physical_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_invalid_length_test.c
    ${SOURCE_DIR}/netxduo_test/netx_13_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_invalidate_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_raw_packet_queue_test.c
    ${SOURCE_DIR}/netxduo_test/netx_dest_table_add_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_static_route_find_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_19_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_mss_option_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_mss_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_13.c
    ${SOURCE_DIR}/netxduo_test/netx_6_27_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_fragment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_available_bytes_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_listen_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_listen_packet_leak_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_23_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_source_send_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_ping6_fragment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_ipv6_basic_processing_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_attachment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_send_fail_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_1_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_18.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_invalid_type_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tx_queue_exceed_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_time_wait_to_close_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_fast_retransmit_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_4_duplicate_ack_test.c
    ${SOURCE_DIR}/netxduo_test/netx_15_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_fragmentation_processing_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv4_ipv6_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_socket_unbind_receive_test.c
    ${SOURCE_DIR}/netxduo_test/netx_5_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_19_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_router_solicitation_test.c
    ${SOURCE_DIR}/netxduo_test/netx_rarp_packet_allocate_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_icmp_ttl_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_udp_fragment_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_101_18_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_zero_window_probe_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_zero_window_probe_2_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_zero_window_probe_3_test.c
    ${SOURCE_DIR}/netxduo_test/netx_6_32_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_socket_bind_test.c
    ${SOURCE_DIR}/netxduo_test/netx_nxd_udp_socket_send_special_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_send_internal_test.c
    ${SOURCE_DIR}/netxduo_test/netx_rarp_basic_processing_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_wrong_protocol_field_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_small_window_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_new_reno_algorithm_test5.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_delayed_retransmission_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_fin_wait_recv_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_10_23_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv6_ipv4_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_15_03_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_destination_table_periodic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_send_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_udp_fragment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_transmit_not_done_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_entry_abnormal_operation_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_port_table_udpate_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_order_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_27_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_tcp_test_2.c
    ${SOURCE_DIR}/netxduo_test/netx_23_02_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_7.c
    ${SOURCE_DIR}/netxduo_test/netx_4_27_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_unbind_test.c
    ${SOURCE_DIR}/netxduo_test/netx_udp_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_dispatch_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_26_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_address_change_notify_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_20_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_nd_cache_under_interface_detach_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_invalid_source_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_client_socket_bind_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_client_packet_leak_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_29_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_3_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_debug_info_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_lifetime_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_simultaneous_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_hop_by_hop_fragment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_23_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_wrapping_sequence_test4.c
    ${SOURCE_DIR}/netxduo_test/netx_nd_cache_add_test.c
    ${SOURCE_DIR}/netxduo_test/netx_rarp_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_multicast_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_default_router_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_reset_during_send_test.c
    ${SOURCE_DIR}/netxduo_test/netx_packet_data_append_test.c
    ${SOURCE_DIR}/netxduo_test/netx_igmp_interface_indirect_report_send_test.c
    ${SOURCE_DIR}/netxduo_test/netx_17_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_out_of_window_control_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_04_test.c
    ${SOURCE_DIR}/netxduo_test/netx_10_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_fragment_fail_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_invalid_option_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_invalid_option_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_redirect_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_redirect_buffer_overwrite_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_ping6_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_branch_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_new_reno_algorithm_test3.c
    ${SOURCE_DIR}/netxduo_test/netx_3_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_dropped_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_12_25_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_delete_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_packet_allocate_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_solicitated_ra_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_disable_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_data_transfer_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_odd_window_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_multicast_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_loopback_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_overlapping_packet_test_6.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_static_route_add_test.c
    ${SOURCE_DIR}/netxduo_test/netx_raw_nxe_api_test.c
    ${SOURCE_DIR}/netxduo_test/netx_4_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_slla_changed_test.c
    ${SOURCE_DIR}/netxduo_test/netx_102_21_test.c
    ${SOURCE_DIR}/netxduo_test/netx_11_19_test.c
    ${SOURCE_DIR}/netxduo_test/netx_nd_cache_with_own_address_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_relisten_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_entry_set_test.c
    ${SOURCE_DIR}/netxduo_test/netx_arp_dynamic_entry_timeout_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_packet_leak_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmp_tunnel_ipv6_ipv4_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv4_ipv6_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_19_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_fragmentation_error_test1.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_new_reno_algorithm_test1.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_interface_detachment_test.c
    ${SOURCE_DIR}/netxduo_test/netx_8_01_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ip_fragmentation_packet_drop_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_state_wait_test.c
    ${SOURCE_DIR}/netxduo_test/netx_1_26_02_test.c
    ${SOURCE_DIR}/netxduo_test/netx_9_17_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_multicast_ping_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_multicast_ping_test1.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_tcp_test_3.c
    ${SOURCE_DIR}/netxduo_test/netx_forward_multicast_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_tunnel_ipv4_ipv6_big_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_udp_random_port_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_invalid_message_test.c
    ${SOURCE_DIR}/netxduo_test/netx_ipv6_packet_chain_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_invalid_length_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ra_buffer_overwrite_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_invalid_length_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_large_data_transfer_test.c
    ${SOURCE_DIR}/netxduo_test/netx_utility_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ns_with_small_packet_test.c    
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_ns_buffer_overwrite_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_small_packet_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_advertised_window_update_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_invalid_ra_option_test.c
    ${SOURCE_DIR}/netxduo_test/netx_icmpv6_too_big_buffer_overwrite_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_race_condition_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_race_condition_test2.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_socket_receive_rst_test.c
    ${SOURCE_DIR}/netxduo_test/netx_tcp_invalid_packet_chain_test.c
    ${SOURCE_DIR}/netxduo_test/netx_http_proxy_basic_test.c
    ${SOURCE_DIR}/netxduo_test/netx_http_proxy_non_block_test.c
    ${SOURCE_DIR}/netxduo_test/netx_http_proxy_multiple_response_test.c
    ${SOURCE_DIR}/netxduo_test/netx_http_proxy_error_response_test.c
    ${SOURCE_DIR}/netxduo_test/netx_http_proxy_disconnect_test.c
    ${SOURCE_DIR}/netxduo_test/netx_http_proxy_data_fin_test.c)

set(websocket_test_cases
    ${SOURCE_DIR}/websocket_test/netx_websocket_send_chain_packets_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_non_block_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_multi_instance_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_delete_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_16_bit_payload_length_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_one_packet_with_multi_frames_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_one_frame_in_packets_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_disconnect_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_connect_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_mask_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_fin_test.c
    ${SOURCE_DIR}/websocket_test/netx_websocket_opcode_test.c)

set(pop3_test_cases
    ${SOURCE_DIR}/pop3_test/netx_pop3_two_mails_received_test.c
    ${SOURCE_DIR}/pop3_test/netx_pop3_mail_receive_test.c
    ${SOURCE_DIR}/pop3_test/netx_pop3_packet_with_endmarker_test.c
    ${SOURCE_DIR}/pop3_test/netx_pop3_abnormal_packet_test.c)

set(ppp_test_cases
    ${SOURCE_DIR}/ppp_test/netx_ppp_PAP_bad_password_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_check_boundary_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_IPCP_timeout.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_request_dns_server_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_chap_bad_secret_passed_on_retry_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_chap_bad_secret_failed_retry_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_LCP_timeout.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_PAP_bad_username_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_pap_null_name_password_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_LCP_invalid_packet_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_IPCP_abnormal_packet_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_IPCP_nak_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_IPCP_retransmit_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_pap_basic_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_pfc_option_test.c
    ${SOURCE_DIR}/ppp_test/netx_ppp_acfc_option_test.c)

set(pppoe_test_cases
    ${SOURCE_DIR}/pppoe_test/netx_pppoe_basic_test.c
    ${SOURCE_DIR}/pppoe_test/netx_pppoe_api_test.c
    ${SOURCE_DIR}/pppoe_test/netx_pppoe_api_extended_test.c
    ${SOURCE_DIR}/pppoe_test/netx_pppoe_ac_name_test.c
    ${SOURCE_DIR}/pppoe_test/netx_pppoe_session_control_test.c)

if(PRODUCT STREQUAL netxduo)
  if(NOT "-DNX_DISABLE_IPV4" IN_LIST ${CMAKE_BUILD_TYPE})
    set(ptp_test_cases
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_announce_timeout_test.c
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_api_test.c
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_basic_test.c
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_calibrate_test.c
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_ipv6_test.c
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_master_selection_test.c
        ${SOURCE_DIR}/ptp_test/netx_ptp_client_two_steps_off_test.c)
  endif()
endif()

set(rtp_test_cases
    ${SOURCE_DIR}/rtp_test/netx_rtp_multi_interfaces_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_session_packet_send_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_session_jpeg_send_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_session_h264_send_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_session_aac_send_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_free_udp_port_find_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_multi_clients_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_multicast_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_basic_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtp_api_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtcp_abnormal_packet_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtcp_basic_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtcp_packet_process_test.c
    ${SOURCE_DIR}/rtp_test/netx_rtcp_packet_send_test.c)

set(rtsp_test_cases
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_api_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_rtp_basic_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_rtp_ipv6_basic_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_rtp_multicast_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_rtp_ipv6_multicast_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_multiple_request_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_multiple_clients_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_client_timeout_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_error_response_test.c
    ${SOURCE_DIR}/rtsp_test/netx_rtsp_delete_beforehand_test.c)

set(smtp_test_cases
    ${SOURCE_DIR}/smtp_test/netx_smtp_auth_none_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_missing_last_250_EHLO_message_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_auth_logon_function_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_auth_no_type_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_two_packet_EHLO_auth_last_message_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_basic_function_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_two_packet_EHLO_message_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_abnormal_packet_test.c
    ${SOURCE_DIR}/smtp_test/netx_smtp_invalid_release_test.c)

set(snmp_test_cases
    ${SOURCE_DIR}/snmp_test/netx_snmp_v1_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v1_object_id_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v1_packet_double_release_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_basic_v2_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v2_get_bulk_request_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v2_unknown_oid_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v2_send_trap_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v2_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_nosec_traplist_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_md5_failed_security_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_md5_security_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_md5_security_extended_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_no_security_function_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_decrypt_pdu_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_encrypt_pdu_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_encrypt_pdu_padding_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_v3_object_id_buffer_overwrite_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_setget_integers_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_setget_octet_strings_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_setget_ip_address_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_setget_misc_test.c
    ${SOURCE_DIR}/snmp_test/netx_snmp_abnormal_packet_test.c)

set(sntp_test_cases
    ${SOURCE_DIR}/sntp_test/netx_sntp_forward_unicast_update_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_request_unicast_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_unicast_basic_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_ipv6_broadcast_basic_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_ipv6_unicast_basic_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_broadcast_basic_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_unicast_display_date_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_seconds_to_date_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_kod_test.c
    ${SOURCE_DIR}/sntp_test/netx_sntp_client_packet_chain_test.c)

set(tsn_test_cases
    ${SOURCE_DIR}/tsn_test/netx_mrp_state_machine_test.c
    ${SOURCE_DIR}/tsn_test/netx_shaper_cbs_test.c
    ${SOURCE_DIR}/tsn_test/netx_shaper_tas_test.c)

if(PRODUCT STREQUAL netxduo)
  if("-DNX_TAHI_ENABLE" IN_LIST ${CMAKE_BUILD_TYPE})
    if("-DNX_ENABLE_IPV6_PATH_MTU_DISCOVERY" IN_LIST ${CMAKE_BUILD_TYPE})
      set(tahi_test_cases
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_15.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_40.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_12.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_33.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_18.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_16.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_15.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_22.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_5.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_35.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_19.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_09.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_16.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_7.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_03.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_04.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_05.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_10.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_10.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_01.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_05.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_11.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_29.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_34.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_2.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_39.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_10.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_04.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_12.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_1.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_3.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_02.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_01.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_20.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_02.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_37.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_5.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_42.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_13.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_11.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_21.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_41.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_06.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_09.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_4.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_6.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_32.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_24.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_14.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_06.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_07.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_17.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_30.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_07.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_27.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_9.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_31.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_28.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_14.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_13.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_38.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_25.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_11.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_08.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_4_8.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_23.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_36.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_2_03.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_08.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_test_3_26.c)
    endif()

    if("-DNX_DHCPV6_TAHI_ENABLE" IN_LIST ${CMAKE_BUILD_TYPE})
      set(tahi_dhcpv6_test_cases
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_011.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_036.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_040.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_041.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_037.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_008.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_087.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_013.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_086.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_018.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_071.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_005.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_079.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_082.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_027.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_074.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_003.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_014.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_032.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_026.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_023.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_052.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_015.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_056.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_017.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_009.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_021.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_089.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_008.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_081.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_007.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_021.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_042.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_022.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_053.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_020.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_072.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_019.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_095.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_020.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_027.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_088.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_091.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_019.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_092.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_076.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_058.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_048.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_002.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_025.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_096.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_044.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_030.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_019.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_066.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_043.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_011.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_007.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_045.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_009.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_065.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_004.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_012.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_060.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_014.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_093.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_003.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_005.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_028.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_012.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_013.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_018.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_016.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_061.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_017.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_085.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_038.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_003.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_063.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_025.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_004.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_069.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_005.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_022.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_024.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_007.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_023.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_027.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_067.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_031.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_039.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_010.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_012.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_034.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_020.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_062.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_002.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_014.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_059.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_057.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_021.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_070.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_002.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_054.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_084.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_006.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_010.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_035.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_008.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_006.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_004.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_077.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_064.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_075.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_098.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_046.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_097.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_073.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_050.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_013.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_015.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_009.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_016.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_047.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_024.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_083.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_080.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_026.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_029.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_04_010.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_022.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_026.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_090.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_055.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_049.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_078.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_033.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_051.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_094.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_07_006.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_068.c
          ${SOURCE_DIR}/tahi_test/netx_tahi_dhcpv6_test_01_099.c)
    endif()
  endif()
endif()

set(telnet_test_cases
    ${SOURCE_DIR}/telnet_test/netx_telnet_activity_timeout_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_max_connections_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_create_packet_pool_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_server_options_negotiate_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_basic_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_server_bad_option_reply_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_rst_test.c
    ${SOURCE_DIR}/telnet_test/netx_telnet_two_listen_test.c)

set(tftp_test_cases
    ${SOURCE_DIR}/tftp_test/netx_tftp_basic_test.c
    ${SOURCE_DIR}/tftp_test/netx_tftp_write_interaction_test.c
    ${SOURCE_DIR}/tftp_test/netx_tftp_error_file_name_test.c
    ${SOURCE_DIR}/tftp_test/netx_tftp_read_interaction_test.c
    ${SOURCE_DIR}/tftp_test/netx_tftp_error_destionation_port_test.c
    ${SOURCE_DIR}/tftp_test/netx_tftp_malformed_packet_test.c)

if(NOT "-DNX_DISABLE_IPV6" IN_LIST ${CMAKE_BUILD_TYPE})
  list(APPEND tftp_test_cases
       ${SOURCE_DIR}/tftp_test/netx_tftp_ipv6_basic_test.c)
endif()

if("full_build" IN_LIST CMAKE_BUILD_TYPE)
  # For test cases requires huge CPU resoures, run for full build only
  list(APPEND tftp_test_cases
       ${SOURCE_DIR}/tftp_test/netx_tftp_large_data_test.c
       ${SOURCE_DIR}/netxduo_test/netx_tcp_cwnd_test.c)
endif()

set(test_utility_files
    ${SOURCE_DIR}/test/nx_ram_network_driver_test_1500.c
    ${SOURCE_DIR}/test/netxtestcontrol.c
    # DHCP utilities
    ${SOURCE_DIR}/dhcp_test/netx_dhcp_clone_function.c
    # DNS utilities
    ${SOURCE_DIR}/dns_test/response_txt_google_com.c
    ${SOURCE_DIR}/dns_test/response_cname_mail_baidu_com.c
    ${SOURCE_DIR}/dns_test/response_mx_a_berkley_edu.c
    ${SOURCE_DIR}/dns_test/response_mx_a_google_com.c
    ${SOURCE_DIR}/dns_test/response_soa_google_com.c
    ${SOURCE_DIR}/dns_test/response_mx_google_com.c
    ${SOURCE_DIR}/dns_test/response_a_berkley_edu.c
    ${SOURCE_DIR}/dns_test/response_aaaa_berkley_edu.c
    ${SOURCE_DIR}/dns_test/response_srv_google_com.c
    ${SOURCE_DIR}/dns_test/response_a_cname_www_npr_org.c
    ${SOURCE_DIR}/dns_test/response_a_google_com.c
    ${SOURCE_DIR}/dns_test/response_ns_a_ti_com.c
    ${SOURCE_DIR}/dns_test/response_with_invalid_resource.c)
if(NOT "$ENV{ENABLE_64}")
  list(
    APPEND
    test_utility_files
    # SMTP utilities
    ${SOURCE_DIR}/smtp_test/smtp_server_packets.c
    # SNMP utilites
    ${SOURCE_DIR}/snmp_test/get_snmp_v3_request.c
    ${SOURCE_DIR}/snmp_test/snmp_manager_packets.c
    ${SOURCE_DIR}/snmp_test/GetSet_Integers_Large_and_Neg_Numbers.c
    ${SOURCE_DIR}/snmp_test/GetSet_IPv4v6Address.c
    ${SOURCE_DIR}/snmp_test/GetSet_OctetStrings.c
    ${SOURCE_DIR}/snmp_test/Get_Miscellaneous_Data_type.c
    ${SOURCE_DIR}/snmp_test/small_mib_helper.c)
endif()

if(PRODUCT STREQUAL netxduo)
  if(NOT "$ENV{ENABLE_64}")
    list(
      APPEND
      test_utility_files
      # MDNS utilities
      ${SOURCE_DIR}/mdns_test/mdns_address_change_test.c
      ${SOURCE_DIR}/mdns_test/mdns_announcement_in_multiple_packets_test.c
      ${SOURCE_DIR}/mdns_test/mdns_basic_ipv6_announcement_test.c
      ${SOURCE_DIR}/mdns_test/mdns_basic_ipv6_query_test.c
      ${SOURCE_DIR}/mdns_test/mdns_basic_ipv6_response_test.c
      ${SOURCE_DIR}/mdns_test/mdns_case_insensitivity_test.c
      ${SOURCE_DIR}/mdns_test/mdns_client_passive_test.c
      ${SOURCE_DIR}/mdns_test/mdns_continuous_query_interval_test.c
      ${SOURCE_DIR}/mdns_test/mdns_continuous_query_test.c
      ${SOURCE_DIR}/mdns_test/mdns_continuous_query_unique_answer_test.c
      ${SOURCE_DIR}/mdns_test/mdns_dns_sd_query_test.c
      ${SOURCE_DIR}/mdns_test/mdns_dns_sd_response_test.c
      ${SOURCE_DIR}/mdns_test/mdns_duplicate_answer_suppression_test.c
      ${SOURCE_DIR}/mdns_test/mdns_duplicate_question_suppression_test.c
      ${SOURCE_DIR}/mdns_test/mdns_known_answer_ignored_test.c
      ${SOURCE_DIR}/mdns_test/mdns_known_answer_suppression_query_half_ttl_test.c
      ${SOURCE_DIR}/mdns_test/mdns_known_answer_suppression_query_test.c
      ${SOURCE_DIR}/mdns_test/mdns_known_answer_suppression_response_test.c
      ${SOURCE_DIR}/mdns_test/mdns_known_answer_suppression_unique_test.c
      ${SOURCE_DIR}/mdns_test/mdns_multiple_questions_per_query_test.c
      ${SOURCE_DIR}/mdns_test/mdns_poof_test.c
      ${SOURCE_DIR}/mdns_test/mdns_probing_conflict_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_and_response_chaos_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_during_probing_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_http_tcp_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_pdl_datastram_tcp_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_printer_tcp_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_rr_timeout_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_smb_tcp_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_start_stop_test.c
      ${SOURCE_DIR}/mdns_test/mdns_query_with_tc_test.c
      ${SOURCE_DIR}/mdns_test/mdns_response_aggregation_test.c
      ${SOURCE_DIR}/mdns_test/mdns_response_interval_test.c
      ${SOURCE_DIR}/mdns_test/mdns_response_in_multiple_packets_test.c
      ${SOURCE_DIR}/mdns_test/mdns_response_no_delay_test.c
      ${SOURCE_DIR}/mdns_test/mdns_response_to_address_query_test.c
      ${SOURCE_DIR}/mdns_test/mdns_response_with_tc_test.c
      ${SOURCE_DIR}/mdns_test/mdns_server_announcement_with_txt_test.c
      ${SOURCE_DIR}/mdns_test/mdns_server_interface_reset.c
      ${SOURCE_DIR}/mdns_test/mdns_server_send_goodbye_test.c
      ${SOURCE_DIR}/mdns_test/netx_mdns_run_test_case.c
      # PTP utilities
      ${SOURCE_DIR}/ptp_test/netx_ptp_utility.c)
  endif()
  list(APPEND test_utility_files
       # TAHI utilities
       ${SOURCE_DIR}/tahi_test/netx_tahi_run_test_case.c)
endif()
add_library(test_utility ${test_utility_files})
target_link_libraries(test_utility PUBLIC azrtos::${PRODUCT})
target_include_directories(test_utility PUBLIC ${SOURCE_DIR}/test
                                               ${SOURCE_DIR}/tahi_test)
target_compile_definitions(test_utility PUBLIC BATCH_TEST CTEST)
if("-DNX_TAHI_ENABLE" IN_LIST ${CMAKE_BUILD_TYPE})
  add_library(tahi SHARED IMPORTED)
  if($ENV{ENABLE_64})
    set_target_properties(tahi PROPERTIES IMPORTED_LOCATION
                                          ${SOURCE_DIR}/tahi_test/tahi64.so)
  else()
    set_target_properties(tahi PROPERTIES IMPORTED_LOCATION
                                          ${SOURCE_DIR}/tahi_test/tahi.so)
  endif()
  target_link_libraries(test_utility PUBLIC tahi)
endif()

if($ENV{ENABLE_64})
  set(test_cases ${netxduo_test_cases} ${dhcp_test_cases} ${dns_test_cases})
elseif($ENV{DHCP_ONLY})
  set(test_cases ${dhcp_test_cases})
elseif($ENV{DNS_ONLY})
  set(test_cases ${dns_test_cases})
elseif($ENV{PTP_ONLY})
  set(test_cases ${ptp_test_cases})
else()
  set(test_cases
      ${auto_ip_test_cases}
      ${bsd_test_cases}
      ${cloud_test_cases}
      ${dhcp_test_cases}
      ${dns_test_cases}
      ${ftp_test_cases}
      ${http_test_cases}
      ${ipsec_test_cases}
      ${mdns_test_cases}
      ${nat_test_cases}
      ${netxduo_test_cases}
      ${websocket_test_cases}
      ${pop3_test_cases}
      ${ppp_test_cases}
      ${pppoe_test_cases}
      ${ptp_test_cases}
      ${rtp_test_cases}
      ${rtsp_test_cases}
      ${smtp_test_cases}
      ${snmp_test_cases}
      ${sntp_test_cases}
      ${tahi_test_cases}
      ${tahi_dhcpv6_test_cases}
      ${telnet_test_cases}
      ${tftp_test_cases}
      ${tsn_test_cases})
endif()

foreach(test_case ${test_cases})
  get_filename_component(test_name ${test_case} NAME_WE)
  add_executable(${test_name} ${test_case})
  target_link_libraries(${test_name} PRIVATE test_utility)
  add_test(${CMAKE_BUILD_TYPE}::${test_name} ${test_name})
endforeach()
